# 使用官方JDK8镜像作为基础镜像
FROM openjdk:8-jdk-slim

# 维护者信息
LABEL maintainer="admin@example.com"

# 设置工作目录
WORKDIR /app

# 设置时区为中国时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 设置默认的环境变量，这些变量可以在docker run时被覆盖
ENV JAVA_OPTS="-Xms128m -Xmx256m"
ENV SPRING_PROFILES_ACTIVE="prod"
ENV SERVER_PORT=8080
ENV DB_URL="jdbc:mysql://localhost:3306/navpage?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai"
ENV DB_USERNAME="root"
ENV DB_PASSWORD="123456"

# 复制项目jar包到容器中
COPY target/spring-boot-admin-0.0.1-SNAPSHOT.jar /app/app.jar

# 暴露端口
EXPOSE ${SERVER_PORT}

# 启动命令
ENTRYPOINT ["sh", "-c", "java ${JAVA_OPTS} \
    -Dspring.profiles.active=${SPRING_PROFILES_ACTIVE} \
    -Dserver.port=${SERVER_PORT} \
    -Dspring.datasource.url=${DB_URL} \
    -Dspring.datasource.username=${DB_USERNAME} \
    -Dspring.datasource.password=${DB_PASSWORD} \
    -jar /app/app.jar"] 